Implementation class for ActivityHostConcept. More...
#include <kanzi/ui/node/concept/activity/activity_host_concept_impl.hpp>
Public Member Functions | |
| void | deserialize (string_view data) override |
| ActivityElement::deserialize implementation. | |
| NodeSharedPtr | findHiddenActivity (string_view activityName) const override |
| ActivityHostConcept::findHiddenActivity implementation. | |
| void | notifyChildrenNodeTreeAvailable () override |
| ActivityElement::notifyChildrenNodeTreeAvailable implementation. | |
| string | serialize () override |
| ActivityElement::serialize implementation. | |
Public Member Functions inherited from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass > | |
| const Node * | getNode () const override |
| Gets the underlying Node object. | |
| Node * | getNode () override |
| Gets the underlying Node object. | |
Public Member Functions inherited from kanzi::ActivityElement | |
| vector< NodeSharedPtr >::const_iterator | beginChildHosts () const |
| Returns the begin iterator to the registered child Activity Host. | |
| vector< NodeSharedPtr >::const_iterator | endChildHosts () const |
| Returns the end iterator to the registered child Activity Host. | |
| Node * | findChildHost (string_view hostName) |
| Finds a child Activity Host by name. | |
| vector< string > | getCommands () const |
| Gets the list of commands handled by code behind of this activity element. | |
| ActivityHistoryManager * | getHistoryManager () const |
| Gets the history manager of this activity element. | |
| ActivityElement * | getParentElement () |
| Gets the parent ActivityElement type node. | |
| bool | isLeafActivityNode () const |
| Returns whether an ActivityElement has a child Activity Host. | |
| void | setCodeBehind (CodeBehindSharedPtr codeBehind) |
| Attaches a code behind object. | |
| void | setCodeBehind (const Metaclass *metaclass) |
| Instantiates and attaches a code behind object by specifying its metaclass. | |
| virtual | ~ActivityElement ()=default |
| Destructor. | |
Public Member Functions inherited from kanzi::ActivityHostConcept | |
| virtual vector< string > | getActivatingNames ()=0 |
| Returns the names of activating Activities in this Activity Host. | |
| virtual void | notifyParentHiddenStateChanged (bool isHidden)=0 |
| Notifies an Activity Host that its parent Activity hidden state changed. | |
| virtual void | onActivateActivityOverride (string_view activationPath, bool resetHistory)=0 |
| Derived classes implement this method to react to ActivateActivity message. | |
| virtual void | resolveFocusWithPolicy (Node &activityNode)=0 |
| Focuses a given Activity if the focusing policy of this Activity Host instructs so. | |
| virtual void | setActivationModifier (string_view activityName, BindingTokenWeakPtr weakModifier)=0 |
| Sets a property modifier to apply activation to a child Activity Node of an Activity Host. | |
| virtual | ~ActivityHostConcept ()=default |
| Destructor. | |
Protected Member Functions | |
| ActivityHostConceptImpl (Domain *domain, string_view name) | |
| Constructor. | |
| void | clearCurrentActivationTarget () const |
| Clears current activation target. | |
| void | concealActivityNode (NodeSharedPtr activityNode) |
| When deactivating an Activity: | |
| void | dismissHiddenActivity (string_view activityName) |
| Removes a stored hidden persistent Activity from this Activity Host. | |
| void | initialize () |
| Initializes this Activity Host Concept. | |
| bool | isHiddenActivityActivationPath (string_view path) |
| Returns whether the given activation path points to a hidden persistent Activity. | |
| void | registerInParentActivityElement () final |
| ActivityElement::registerInParentActivityElement implementation. | |
| void | resolveFocusOnActivated (Node &activityNode) |
| Performs the necessary operations to fix the application focus when an Activity has activated in this Activity Host. | |
| void | unregisterInParentActivityElement () final |
| ActivityElement::unregisterInParentActivityElement implementation. | |
| ~ActivityHostConceptImpl ()=default | |
| Destructor. | |
Protected Member Functions inherited from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass > | |
| ActivityElementImpl (Domain *domain, string_view name) | |
| Constructor. | |
| void | initialize () |
| Initializes the activity element. | |
| void | onAttached () override |
| Node::onAttached implementation. | |
| void | onAttachedOverride () |
| ActivityElementImpl uses CRTP to call the onAttachedOverride method that the derived classes implement. | |
| void | onDetached () override |
| Node::onDetached implementation. | |
| void | onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override |
| Node::onNodePropertyChanged implementation. | |
| ~ActivityElementImpl () override=default | |
| Destructor. | |
Protected Member Functions inherited from kanzi::ActivityElement | |
| optional< ActivityBrowserController::ActivityID > | getActivityID () const |
| Gets the unique ID that is used by the implementation of the Activity Browser. | |
| string | getPathInParent () |
| Gets the activation path of this activity element relative to its parent. | |
| void | initialize () |
| Initializes the activity element. | |
| bool | isRootActivityElement () const |
| Returns whether an ActivityElement is the root Activity Host node of the Screen node. | |
| void | onForceTrigger (const ActivityBrowserController::ForceTriggerMessageArguments &args) |
| Message handler for ActivityBrowserController::ForceTriggerMessage. | |
| void | onNodeInfoTreeAvailable (const ActivityBrowserController::NodeInfoTreeAvailableArguments &) |
| Message handler for ActivityBrowserController::NodeInfoTreeAvailableMessage. | |
| void | registerChildHost (string_view hostPath) |
| Registers a child host in this activity element. | |
| void | setActivityID (optional< ActivityBrowserController::ActivityID > activityID) |
| Sets the unique ID that is used by the implementation of the Activity Browser. | |
| void | unregisterChildHost (string_view hostName) |
| Unregisters a child host from this activity element. | |
| void | updateActivityBrowserProperties () |
| Triggers the Activity Browser to update the properties of the Activity Element. | |
Protected Attributes | |
| string | m_activationTarget |
| The name of the Activity that is the candidate to be the activation target. | |
| bool | m_deserializing |
| Indicates that this Activity Host is performing property deserialization. | |
| bool | m_hostHadFocus |
| Indicates that the Activity Host had focus before it started to activate new activation target Activity. | |
Additional Inherited Members | |
Public Types inherited from kanzi::ActivityHostConcept | |
| enum class | ActivationStatus { PreparingForActivation , ParallelAnimation , ExclusiveAnimation } |
| Specifies possible stages for internal tracking of activation of an Activity. More... | |
| using | ActivityInfoContainer |
| enum class | DeactivationStatus { ExclusiveAnimation , ParallelAnimation , WaitingForRelease } |
| Specifies possible stages for internal tracking of deactivation of an Activity. More... | |
Static Public Member Functions inherited from kanzi::ActivityElement | |
| static string | getFirstElement (string_view activationSequence) |
| Gets the first element of the activation sequence. | |
| static string | getRestToForward (string_view activationSequence) |
| Gets the remainder of the activation sequence. | |
| template<typename Type > | |
| static bool | isActivityElement (const Type &object) |
| Returns whether an object is an ActivityElement. | |
| static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::ActivityHostConcept | |
| template<typename Type > | |
| static bool | isActivityHost (const Type &object) |
| Determines if an object is an ActivityHost. | |
| static bool | isActivityHostMetaclass (const Metaclass *metaclass) |
| Checks whether the given Metaclass is an ActivityHostConcept metaclass or contains it as a mixin metaclass. | |
| static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Attributes inherited from kanzi::ActivityElement | |
| static PropertyType< bool > | AttachedProperty |
| static PropertyType< bool > | PreserveHistoryProperty |
| Enables the preservation of Activity property values when that Activity becomes inactive. | |
Static Public Attributes inherited from kanzi::ActivityHostConcept | |
| static MessageType< ActivationMessageArguments > | ActivateActivityMessage |
| You can send ActivateActivity to the Activity Host to activate an Activity. | |
| static MessageType< ActivationMessageArguments > | DeactivateActivityMessage |
| You can send DeactivateActivity to the Activity Host to deactivate an Activity. | |
| static MessageType< ActivityPrefabMessageArguments > | ActivityPrefabAttachedMessage |
| An Activity Host sends this message when it attaches the prefab of the Activity that is activated. | |
| static MessageType< ActivityPrefabMessageArguments > | ActivityPrefabDetachedMessage |
| An Activity Host sends this message when it attaches the prefab of the Activity that is activated. | |
| static MessageType< RegisterActivityElementInternalMessageArguments > | RegisterHostInternalMessage |
| Internal message sent by an Activity Host to its parent Activity or Activity Host to register the Activity Host in the parent. | |
| static MessageType< UnregisterActivityElementInternalMessageArguments > | UnregisterHostInternalMessage |
| Internal message sent by an Activity Host to its parent Activity or Activity Host to unregister the Activity Host from the parent. | |
Implementation class for ActivityHostConcept.
Derived classes must implement these methods:
vector<NodeWeakPtr> getActiveOrAttachedActivating()
Returns Activity nodes that are in the Active or Activating state and are already attached to an Activity Host node. This does not include the Activity nodes that are in the loading state.
vector<NodeWeakPtr> getAttachedActivityNodes()
Returns Activity nodes that are already attached to an Activity Host node. This does not include the Activity nodes that are in the loading state.
optional<ActivityHostConcept::ActivityInfo> getActivityInfo(string_view name) const
Returns the information for the child Activity node (ActivityHostConcept::ActivityInfo object) with the given name.
|
protecteddefault |
Destructor.
|
explicitprotected |
Constructor.
| domain | The domain the new node belongs to. |
| name | The name of the node. |
|
overridevirtual |
ActivityElement::notifyChildrenNodeTreeAvailable implementation.
Notifies also the Activity nodes that are already attached to an Activity Host node.
Reimplemented from kanzi::ActivityElement.
Reimplemented in kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, and kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >.
|
overridevirtual |
ActivityElement::serialize implementation.
Reimplemented from kanzi::ActivityElement.
|
overridevirtual |
ActivityElement::deserialize implementation.
Reimplemented from kanzi::ActivityElement.
Reimplemented in kanzi::ExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ParallelActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::ParallelActivityHostImpl< ContentLayout2D, ParallelActivityHost2D >, and kanzi::ParallelActivityHostImpl< ContentLayout3D, ParallelActivityHost3D >.
|
overridevirtual |
ActivityHostConcept::findHiddenActivity implementation.
Implements kanzi::ActivityHostConcept.
|
finalprotectedvirtual |
ActivityElement::registerInParentActivityElement implementation.
Implements kanzi::ActivityElement.
|
finalprotectedvirtual |
ActivityElement::unregisterInParentActivityElement implementation.
Implements kanzi::ActivityElement.
|
protected |
Initializes this Activity Host Concept.
|
protected |
Performs the necessary operations to fix the application focus when an Activity has activated in this Activity Host.
| activityNode | The activated Activity. |
|
protected |
Clears current activation target.
|
protected |
When deactivating an Activity:
| activityNode | Activity node to handle. |
|
protected |
Removes a stored hidden persistent Activity from this Activity Host.
If the Activity with the given name is not a hidden persistent Activity in this Activity Host, the function does not do anything.
| activityName | Name of the persistent Activity to remove. |
|
protected |
Returns whether the given activation path points to a hidden persistent Activity.
| path | Activity activation path. |
|
protected |
The name of the Activity that is the candidate to be the activation target.
|
protected |
Indicates that this Activity Host is performing property deserialization.
|
protected |
Indicates that the Activity Host had focus before it started to activate new activation target Activity.
Kanzi uses this flag the determine whether it applies the focusing policy to the activating Activity.